External API Callouts এবং Web Service Integration হলো Salesforce-এ ব্যবহারকারীর অ্যাপ্লিকেশনকে বাইরের সিস্টেমের সাথে সংযুক্ত করার একটি প্রক্রিয়া। এই Integration এর মাধ্যমে Salesforce অন্যান্য অ্যাপ্লিকেশন থেকে ডেটা গ্রহণ এবং প্রেরণ করতে পারে, যেমন পেমেন্ট গেটওয়ে, থার্ড-পার্টি ডেটাবেস, বা অন্য কোনো API থেকে ডেটা রিকোয়েস্ট করা।
External API Callouts হল Salesforce-এর মাধ্যমে বাইরের কোনো সিস্টেমের API-তে রিকোয়েস্ট পাঠানো এবং রেসপন্স গ্রহণ করার একটি প্রক্রিয়া। সাধারণত HTTP (REST) এবং SOAP (XML) API Callouts এর মাধ্যমে বাইরের সিস্টেমের সাথে যোগাযোগ করা হয়।
HttpRequest
অবজেক্ট তৈরি করুন।Http
অবজেক্টের send()
মেথড ব্যবহার করে HttpRequest
পাঠান।HttpResponse
অবজেক্টের মাধ্যমে API এর রেসপন্স সংরক্ষণ করুন এবং প্রসেস করুন।public class APICalloutExample {
public static String makeGetRequest(String endpoint) {
Http http = new Http();
HttpRequest request = new HttpRequest();
request.setEndpoint(endpoint);
request.setMethod('GET');
request.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
try {
HttpResponse response = http.send(request);
if (response.getStatusCode() == 200) {
return response.getBody();
} else {
throw new CalloutException('Error: ' + response.getStatusCode() + ' - ' + response.getStatus());
}
} catch (Exception e) {
System.debug('API Callout Failed: ' + e.getMessage());
return null;
}
}
}
GET
রিকোয়েস্ট করে এবং JSON বা XML ফরম্যাটে রেসপন্স গ্রহণ করে।Salesforce অন্যান্য অ্যাপ্লিকেশন বা সিস্টেমের সাথে SOAP এবং REST Web Services এর মাধ্যমে ইন্টিগ্রেশন করতে পারে। SOAP Web Services XML ফরম্যাটে ডেটা প্রক্রিয়াকরণ করে এবং WSDL (Web Services Description Language) ব্যবহার করে ডেটা গঠন নির্ধারণ করে। REST Web Services JSON ফরম্যাটে ডেটা প্রক্রিয়াকরণ করে এবং HTTP প্রোটোকল ব্যবহার করে।
// WSDL আমদানি করলে তৈরি হওয়া Apex ক্লাসের উদাহরণ
public class SampleSOAPWebService {
public String exampleMethod(String param) {
// SOAP Request and Response
}
}
Test.setMock() ব্যবহার করুন: API Callouts টেস্টিং করার জন্য HttpCalloutMock ব্যবহার করুন এবং Test Coverage নিশ্চিত করুন।
@isTest
private class MockHttpCallout implements HttpCalloutMock {
public HttpResponse respond(HttpRequest req) {
HttpResponse res = new HttpResponse();
res.setStatusCode(200);
res.setBody('{"message": "Test Successful"}');
return res;
}
}
@isTest
public static void testAPICallout() {
Test.setMock(HttpCalloutMock.class, new MockHttpCallout());
String response = APICalloutExample.makeGetRequest('https://example.com/api');
System.assertNotEquals(null, response, 'Response should not be null');
}
Exception Handling এবং Retry Mechanism: API Callout ব্যর্থ হলে Exception Handling এবং Retry Mechanism নিশ্চিত করুন।
Caching: একই ডেটা বারবার রিকোয়েস্ট না করে ক্যাশিং ব্যবহার করুন, যা সার্ভারের লোড কমায়।
Governor Limits মনিটরিং: গভর্নর লিমিট অতিক্রম এড়াতে গভর্নর লিমিট মেনে API Callouts পরিচালনা করুন।
Secure Authentication: OAuth 2.0, API Key, বা Bearer Token ব্যবহার করে নিরাপদ অ্যাক্সেস নিশ্চিত করুন।
ধাপ | REST API Integration | SOAP Web Service Integration |
---|---|---|
Data Format | JSON | XML |
HTTP Methods | GET, POST, PUT, DELETE | SOAP নির্দিষ্ট মেথড |
Authentication | Bearer Token, OAuth 2.0 | WSDL অনুযায়ী নির্ধারিত |
Testing | HttpCalloutMock এবং Test.setMock() ব্যবহার | SOAP UI বা Web Service Mock |
Error Handling | Exception Handling এবং Logging | SOAP Fault এবং Exception Handling |
External API Callouts এবং Web Service Integration Salesforce থেকে বাইরের সিস্টেমে ডেটা পাঠানো এবং গ্রহণের একটি গুরুত্বপূর্ণ পদ্ধতি। API Callout এর মাধ্যমে REST এবং SOAP উভয় ধরনের Web Services এর সাথে ইন্টিগ্রেশন সম্ভব। সঠিক Exception Handling, Authentication, এবং Testing পদ্ধতি ব্যবহার করে একটি কার্যকর এবং নিরাপদ ইন্টিগ্রেশন নিশ্চিত করা যায়।
common.read_more